/**
 * 
 * @param {Array} array 分组的数组
 * @param {String} key 分组的字段
 * @returns 
 */
export function groupBy(array, key) {
    let group = array.reduce(
      (acc, item) => ({
        ...acc,
        [item[key]]: [...(acc[item[key]] ?? []), item],
      }),
      {}
    );
  
    return group;
  }
  
  /**
   * 
   * @param {Number} min 最小值
   * @param {Number} max 最大值
   * @param {Boolan} hasDecimal 是否取整 
   * @param {Number} decimalPlaces 小数位数
   * @returns 
   */
  export function getRandomNumber(min, max, hasDecimal = false, decimalPlaces = 2) {
    if (min > max) {
      [min, max] = [max, min];
    }
    let randomNum = Math.random() * (max - min) + min;
    if (!hasDecimal) {
      randomNum = Math.floor(randomNum);
    } else {
      randomNum = parseFloat(randomNum.toFixed(decimalPlaces));
    }
    return randomNum;
  }
  
  
  